package com.silas.dynflightdatatransfer.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

@Data
@TableName("tab_flight_dynamic_data_info")
public class FlightDynamicDataInfo implements Serializable {

    private static final long serialVersionUID = -2469014076633074664L;

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    @TableField("data_type")
    private String dataType;

    @TableField("flight_plan_id")
    private String flightPlanId;

    @TableField("order_id")
    private String orderId;

    @TableField("time_stamp")
    private Long timeStamp;

    @TableField("altitude")
    private BigDecimal altitude;

    @TableField("speed")
    private BigDecimal speed;

    @TableField("yaw")
    private BigDecimal yaw;

    @TableField("longitude")
    private BigDecimal longitude;

    @TableField("latitude")
    private BigDecimal latitude;

    @TableField("flight_time")
    private Integer flightTime;

    @TableField("level")
    private Integer level;

    @TableField("type")
    private Integer type;

    @TableField("vendor")
    private String vendor;

    @TableField("sn")
    private String sn;

    @TableField("platform")
    private String platform;

    @TableField("longitudeFrom")
    private BigDecimal longitudeFrom;

    @TableField("latitudeFrom")
    private BigDecimal latitudeFrom;

    @TableField("model")
    private String model;

    @TableField("uas_id")
    private String uasId;

    @TableField("user_name")
    private String userName;

    @TableField("drone_type")
    private String droneType;

    @TableField("contact")
    private String contact;

    @TableField("flag")
    private String flag;

    @TableField("msg")
    private String msg;

    @TableField("reg_id_no")
    private String regIdNo;

    @TableField("reg_mobile")
    private String regMobile;

    @TableField(value = "point_time")
    private LocalDateTime pointTime;

    @TableField(value = "created_time")
    private LocalDateTime createdTime;

    @TableField(value = "kafka_receive_time")
    private LocalDateTime kafkaReceiveTime;

    @TableField(value = "diffSecond")
    private Long diffSecond;

    @TableField(value = "height_altitude_type")
    private Integer heightAltitudeType;
    @TableField(value = "flight_height")
    private BigDecimal flightHeight;
    @TableField(value = "flightHAE")
    private BigDecimal flightHAE;
    @TableField(value = "flight_altitude")
    private BigDecimal flightAltitude;
    @TableField(value = "flight_status")
    private Integer flightStatus;
    @TableField(value = "coordinate")
    private Integer coordinate;
    @TableField(value = "operator_location_type")
    private Integer operatorLocationType;
    @TableField(value = "VS")
    private BigDecimal VS;
    @TableField(value = "GS")
    private BigDecimal GS;
    @TableField(value = "search_sat")
    private Integer searchSat;
    @TableField(value = "wind_speed")
    private BigDecimal windSpeed;
    @TableField(value = "comm_signal_strength")
    private BigDecimal commSignalStrength;
    @TableField(value = "signal_type")
    private Integer signalType;
    @TableField(value = "uav_abnormal_type")
    private String uavAbnormalType;
    @TableField(value = "manufactureID")
    private String manufactureID;
    @TableField(value = "data_source")
    private String dataSource;
    @TableField(value = "remaining_battery_power")
    private BigDecimal remainingBatteryPower;
//    @TableField(value = "coordinate_type")
    @TableField(exist = false)
    private String coordinateType;
//    @TableField(value = "altitude_desc")
    @TableField(exist = false)
    private String altitudeDesc;
    @TableField(exist = false)
    private Integer heightType;
    @TableField(exist = false)
    private Integer altitudeType;
}
